iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
ChatGPT & Codex

這隻 LINE Bot 不是我寫的:30 天讓 Codex 從零幫我做到上線系列 第 20

Day 20 - 程式會動還不夠:我用手機完成 Cafe Bot 測試

  • 分享至 

  • xImage
  •  

上一篇,我替 LINE Cafe Bot 加上造訪後提醒。

使用者安排咖啡時間後,Bot 會在稍後主動詢問體驗。按下「開始評分」,就能留下星等和標籤;如果臨時沒有去,也可以直接略過。

程式完成後,31 項自動測試全部通過,服務也順利上線。

但這還不能回答一個很重要的問題:在手機上用起來順不順?

完整程式碼:
https://github.com/zonawang/line-cafe-follow-up

自動測試看得到規則,看不到使用感受

自動測試可以確認很多事情:時間有沒有算對、按鈕資料是否安全、提醒訊息有沒有產生,以及原本的咖啡足跡功能是否仍然正常。

但它不會告訴我:

  • 安排完成的文字是否容易理解。
  • LINE 通知出現在手機上時,感覺是否自然。
  • 使用者看到「開始評分」和「這次沒去」時,是否知道該怎麼選。
  • 點下按鈕後,流程有沒有順利接回原本的咖啡足跡。

這些只能真的拿起手機走一次。

測試前,先決定自己要觀察什麼

如果只是照著按鈕一直點,很容易在成功畫面出現後就說「好了」。但一條流程能走完,不代表每一步都清楚。

所以這次我把手機測試分成三個階段:

安排前:入口找不找得到?
等待中:使用者知不知道接下來會發生什麼?
提醒後:能不能不必重新理解,就繼續完成紀錄?

第一階段看的不是搜尋結果準不準,而是推薦卡片上的「安排喝咖啡時間」是否明顯。使用者找到喜歡的店之後,應該能直接往下走,不需要另外輸入指令。

第二階段要看確認訊息。Bot 不能只回答「設定成功」,還要清楚顯示店名、安排時間,以及預計何時詢問體驗。使用者離開聊天室前,就應該知道這件事還沒結束。

第三階段才是提醒本身。幾分鐘前的對話可能已經不在眼前,因此新訊息必須自己說明是哪一間店、為什麼現在出現,以及接下來能做什麼。

這樣拆開之後,我測的不再只是七個操作步驟,而是每一次離開與回來時,資訊有沒有接得上。

把等待時間縮短,完整走一次流程

為了不讓每次測試都等上一兩個小時,我暫時把提醒延遲調成 1 分鐘,再安排一個幾分鐘後開始的咖啡行程。

手機上的測試流程是:

  1. 傳送目前位置。
  2. 從推薦結果選一間咖啡廳。
  3. 點「安排喝咖啡時間」。
  4. 確認 Bot 顯示行程與預計提醒時間。
  5. 等待 LINE 主動傳來提醒。
  6. 從提醒進入評分與標籤流程。
  7. 查看「我的咖啡足跡」,確認店家和日期正確。

這次是真的從手機收到 LINE Push,不是由測試工具模擬訊息。整條使用者路徑順利完成,也確認安排的造訪日期不會被誤記成填寫評分的日期。

https://ithelp.ithome.com.tw/upload/images/20260831/20183556pqGuRuXnT0.jpg

等待,也是使用流程的一部分

一般的聊天機器人功能,大多在同一段對話裡完成。傳一個位置、收到一組推薦,前後可能只差幾秒。

Follow-up 不一樣。使用者安排完時間後會離開,隔一段時間才再次看到 Bot。中間這段空白,讓提醒訊息不能太依賴先前對話。

如果它只寫「要開始評分嗎?」,使用者可能根本不記得在評什麼。因此目前的提醒會重新帶出咖啡廳名稱,也只提供兩個明確選擇:有去就開始評分,沒去就略過。

這次手機測試讓我特別注意這種「重新進入流程」的感覺。使用者不應該先往上翻聊天紀錄,才能理解眼前的通知。

提醒出現後,也沒有開啟一套全新的表單,而是回到原本已經熟悉的星等和標籤。這讓 Follow-up 比較像替舊流程補上一座橋,而不是另外蓋一條使用者還要重新學習的路。

最後要檢查的,是資料有沒有接回原位

手機畫面操作成功後,我還要回到「我的咖啡足跡」確認結果。

這一步會檢查幾件事:店名有沒有正確、評分和標籤有沒有保存,以及顯示的是造訪日期,還是完成評分的日期。

最後一點特別容易被忽略。使用者可能行程結束後沒有立刻回覆,晚一點才完成紀錄。如果歷史頁面只採用填寫時間,就會把真正去咖啡廳的日期記錯。

Follow-up 在安排當下已經知道預定造訪時間,因此建立足跡時會一起帶回去。測試直到歷史紀錄正確出現才結束,而不是按下「完成」看到成功訊息就停下來。

https://ithelp.ithome.com.tw/upload/images/20260831/20183556PklUq3VBwZ.jpg

實測後,把正式提醒設為一小時

快速測試用的 1 分鐘只適合驗證功能,正式使用當然不能這麼急。原本設定的兩小時又稍微偏晚,因此最後把預設提醒調整為行程開始後 60 分鐘。

確認後,我也同步更新正式服務、程式預設值、自動測試、README 和文章,避免下次部署時又出現不同設定。

這段調整不複雜,卻讓我注意到:提醒時間看起來只是設定值,其實也是產品體驗的一部分。

這也說明手機測試不只是找 bug。有時功能完全正常,實際使用後仍會發現預設值、文案或操作順序需要調整。這些不一定會讓程式報錯,卻會直接影響人願不願意繼續使用。

真正的完成,要從使用者走到最後

以前我很容易在測試全部通過時,就覺得功能已經完成。

這次提醒功能橫跨了安排、等待、收到通知和留下足跡。如果只驗證其中一段,就可能錯過真正使用時才會出現的問題。

我現在會把測試分成兩層:

自動測試:功能有沒有按照規則運作?
手機測試:使用者能不能自然地走完整段流程?

兩者都重要,也不能互相取代。

自動測試適合反覆確認固定規則。之後不管改了訊息樣式或其他功能,都能快速知道時間換算和資料解析有沒有被意外破壞。

手機測試則比較像一次完整排演。它速度較慢,也不適合每改一行程式就重新做,但在正式使用前不可省略。尤其這次還包含作業系統通知、LINE 聊天畫面,以及隔一段時間重新回到流程,這些都不是單看後端結果能完整理解的。

這次手機測試沒有發現需要重做的大問題,卻幫我確認了文案、通知、按鈕、日期和流程銜接,也讓提醒時間從一個猜測變成實際使用後的選擇。

對我來說,這就是最後一段驗收:不是看到服務上線,而是拿起手機,真的像使用者一樣把它用完。

下一輪,我還想測幾個真實情境

這次先確認最主要的成功路徑。之後如果繼續擴充,我還想用手機測試:

  • 同一天安排兩間咖啡廳時,提醒會不會容易混淆。
  • 在 LINE 群組裡安排時,其他人能不能誤按我的評分。
  • 收到提醒後選擇「這次沒去」,是否真的不會留下足跡。
  • 重複點擊「開始評分」時,是否仍然只有一份紀錄。
  • 手機關閉 LINE 通知後,回到聊天室是否仍能理解這則訊息。

這些不代表目前功能不能使用,而是時間型功能開始進入真實生活後,自然會遇到更多情境。

第一版先把最重要的主線走順,再用實際使用累積下一輪問題。我希望每次新增測試,都來自一個清楚的使用情境,而不是為了讓測試數量看起來更多。

本篇完整程式碼

👉 GitHub:https://github.com/zonawang/line-cafe-follow-up
👉 更多 LINE Bot 與 AI 實作紀錄: https://github.com/zonawang/zona-ai-learning-lab


上一篇
Day 19 - 喝完咖啡總是忘記評分?我讓 LINE Bot 主動回來提醒
下一篇
Day 21 - LINE Bot 為什麼不記得「第二間」?我把收藏功能優化成真正的想去清單
系列文
這隻 LINE Bot 不是我寫的:30 天讓 Codex 從零幫我做到上線23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言